Efficient online optimization by utilizing offline analysis and the safeTSA representation
نویسندگان
چکیده
Conventional mobile-code representations, e.g. Java bytecode, provide machine-independence and type-safety, but do so at the expense of performance. This performance hit can be taken in the form of decreased throughput or in increased latency. SafeTSA was designed to reduce this performance hit, especially when producing high-quality optimized machine code. It does this by utilizing SSA form and thus shifting dataflow analysis effort from the online JIT compiler to the offline producer of the safeTSA program. This paper describes the extension of safeTSA to support a greater shifting of optimization effort away from the online JIT compiler, increase the performance, without sacrificing type-safety or machine-independence. Specifically, we describe mechanisms to reduce the cost of online register allocation through offline analysis, and to use offline escape analysis so the online JIT compiler can produce less heap allocations. 1 The SafeTSA Representation SafeTSA[ADvRF01] is a verifiable type safe intermediate representation designed as a machine independent intermediate representation which is both trivial to verify and easy to translate into optimized machine code. SafeTSA achieves this through the novel combination of several key features: the control structure tree, instructions in SSA form, dominator-based referential integrity, type safety through type separation, a type system extended to support key optimizations, and a carefully chosen instruction set. Figure 2 contains a graphical depiction of the safeTSA representation produced from the source program in Fig. 1. It will be referred to in the following discussion of safeTSA’s key features. Rather than allowing arbitrary branch instructions, safeTSA conveys the program’s control flow through a tree of high-level control structure elements closely paralleling those of the Java source language. This control structure tree can be seen depicted as the large font boxes and the connecting lines in Fig. 2; as a first approximation, the control structure tree can be thought of as a method’s abstract syntax tree with its expressions removed. The use of control structure trees restricts safeTSA methods’ control flow graphs to well defined
منابع مشابه
A Type-Safe Mobile-Code Representation Aimed at Supporting Dynamic Optimization At The Target Site
We introduce SafeTSA, a type-safe mobile code representation based on static single assignment form. We are developing SafeTSA as an alternative to the Java Virtual Machine, over which it has several advantages: (1) SafeTSA is better suited as input to optimizing dynamic code generators and allows CSE to be performed at the code producer's site. (2) SafeTSA provides incorruptible referential in...
متن کاملImproving mobile program performance through the use of a hybrid intermediate representation
We present a novel transfer format for mobile programs that is a hybrid of two existing formats: bytecode and SafeTSA. Java bytecode offers a compact representation and ease of interpretation (fast-compilation); SafeTSA offers amenability to optimization. We use program profiling to guide format selection at the method-level. Methods deemed “hot” are those for which optimization should be expen...
متن کاملEfficient algorithms for online convex optimization and their applications
In this thesis we study algorithms for online convex optimization and their relation to approximate optimization. In the first part, we propose a new algorithm for a general online optimization framework called online convex optimization. Whereas previous efficient algorithms are mostly gradient-descent based, the new algorithm is inspired by the Newton-Raphson method for convex optimization, a...
متن کاملOptimization of Online induction Sensor for Ferrous Metals Particles Identification in Engine Oil
Engine oil is one of most important parameters in internal combustion engine that plays effective role in component wear. One of the ways to optimize the performance of the IC engines is online monitoring of wear particle in engine oil. There are different ways to identifying these particles, most of which are offline. Nowadays online oil monitoring sensors are quickly developed. In this study ...
متن کاملCode Annotation for Safe and Efficient Dynamic Object Resolution
The execution time of object oriented programs can be drastically reduced by transforming ”non escaping” objects into a collection of its component scalar data fields. But for languages that support dynamic linking, this kind of optimization (which we call ”object resolution”) can usually only be performed at runtime, when the entire program is available for analysis. In such cases, the resulti...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2002